home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 11
/
FM Towns Free Software Collection 11.iso
/
t_os
/
data
/
dora
/
doratgk.plp
< prev
next >
Wrap
Text File
|
1995-07-07
|
13KB
|
389 lines
/* BBS-NETでの処理から一つ取り出す */
%tgk {[n]
var a[26];var b[12];var onenif[300];
onenif:=@getline(TGK,n,1);
case(@nth(onenif,1,{/}),
{ボード},{b:={ボード}},{再ログイン},{b:={再ログイン}},
,{b:=@nth(onenif,1,{/})});
case(@nochar(onenif),
0,{a:={ }},2,{a:={ }},
,{a:=b|{/}|@nth(onenif,3,{/})|{/}|
@head(@nth(onenif,2,{/}),{,})});
case(@nochar(n)=1,{Yes},{a:={0}|n|{:}|a},{No},{a:=n|{:}|a});im(a);
};
/* BBS-NETでの処理実行日の指定 */
%date{ select({実行する日を指定して下さい}|{ 現在は }|@d2|{ です},
Wtime4,{im(d1)},
{ 毎 日 },{im({毎日})},{ 奇数日 },{im({奇数})},
{ 偶数日 },{im({偶数})},{ 日 曜 },{im({日曜})},
{ 月 曜 },{im({月曜})},{ 火 曜 },{im({火曜})},
{ 水 曜 },{im({水曜})},{ 木 曜 },{im({木曜})},
{ 金 曜 },{im({金曜})},{ 土 曜 },{im({土曜})},
{毎月 1日},{im({01日})},{毎月05日},{im({05日})},
{毎月10日},{im({10日})},{毎月15日},{im({15日})},
{毎月20日},{im({20日})},{毎月25日},{im({25日})},
{毎月30日},{im({30日})},
{複数指定},{SNDMSG({nyuryo_f.snd});
%dat @input({実行する日を入力して下さい\n}|
{カンマ「,」で区切って複数指定可\n}|
{例 奇,火,木,日,01,30},,
@body(d1,{,},{,}));
im({複数,}|dat|{,終わり})},
{設定なし},{im({未定})});
};
/* 実行日表示用 */
%d2 {case(d1,
{毎日},{im({毎 日})},{奇数},{im({奇数日})},
{偶数},{im({偶数日})},{日曜},{im({日 曜})},
{月曜},{im({月 曜})},{火曜},{im({火 曜})},
{水曜},{im({水 曜})},{木曜},{im({木 曜})},
{金曜},{im({金 曜})},{土曜},{im({土 曜})},
{01日},{im({毎月 1日})},{05日},{im({毎月 5日})},
{10日},{im({毎月10日})},{15日},{im({毎月15日})},
{20日},{im({毎月20日})},{25日},{im({毎月25日})},
{30日},{im({毎月30日})},{未定},{im({設定無し})},
{未設定},{im({未設定})},,{im({複数指定})})};
/* 設定情報をファイルに保存する */
%writeTG{setcdir(CDIR);copyfile(TGKFILE,{ DORATGK.BAK});delfile(TGKFILE);
write(TGKFILE,{TGK :=}|@xc({7b})|TGK|@xc({7d})|{;\n});
SETFILE2:={標準設定};
};
/* 設定情報をもとに戻す */
%CANCEL {SNDMSG({erande_f.snd});
footnote({本当にもとに戻してもいいですか?});
select({本当にもとに戻してもいいですか?},
Wtime4,,
{ O K },
{case (@filechk(TGKFILE),
{Yes},
{setcdir(CDIR);#DORATGK.SET;
TGK:=@LINECUT(TGK);
SETFILE2:={標準設定}})},
{ N G },);
};
/* ボードNo.の指定 */
%setBOARD{[n]
var forum [8];var mes [300];var lib [300];var d1 [40];
%TGK1 @getline(TGK,n,1);
d1:= @case(@nth(TGK1,2,{/}),{},{im({未設定})},
,{im(@nth(TGK1,2,{/}))});
forum:= @nth(TGK1,3,{/});
mes:=@case (@nth(TGK1,4,{/}),
{ALL},{im(@nth(TGK1,4,{/}))},
{ALL},{im(@nth(TGK1,4,{/}))},
{all},{im(@nth(TGK1,4,{/}))},
,{im(@To3(@nth(TGK1,4,{/})))}
);
lib:= @To3(@nth(TGK1,5,{/}));
moveline:=@xlinenum;
loop ({
footnote({巡回するボードを設定してください});SNDMSG({nyuryo_f.snd});
%a @plane(
{cネット名「}|NET|{」を指定してください\n}|
{t ネット名 /xxxxxx\n}|
{c巡回するボードを設定してください\n}|
{c 「ALL」とすると全てのボードを巡回します\n}|
{t ボード番号 /\n}|
{s 検索 / 巡回内容 \n}|
{c 指定された会議室の未読を読みます\n}|
{c カンマ「,」で区切って複数指定可(「#」は省略して下さい\n}|
{t ファイルボード番号 /\n}|
{s 検索 / 巡回内容 \n}|
{c 指定されたファイルボードの最新のデータ一覧を表示します\n}|
{c カンマ「,」で区切って複数指定可\n}|
{c 巡回日 }|@d2|{\n}|
{s / 変更 \n}|
{s / 設定 / 削除 / 取消 },
NET,mes,lib);
forum:= @head(@getline(a,1,1),{\n}); mes:=@head(@getline(a,2,1),{\n});
%sarch1 @head(@getline(a,3,1),{\n}); lib:=@head(@getline(a,4,1),{\n}); %sarch2 @head(@getline(a,5,1),{\n}); %sel @head(@getline(a,6,1),{\n}); %ok @head(@getline(a,7,1),{\n});
case (lib={ALL}||lib={all}||lib={,},{Yes},{lib:={}});
case (sarch1,
{ 1},{MorL:={BoD};
%mes1 @MLserch(mes,MorL);
case (mes1<>{} && mes1<>{No},
{Yes},
{case (mes={ALL}||mes={ALL}||mes={all},
{Yes},{mes:={}});
case (mes<>{},
{Yes},
{mes:=@To3(mes);mes:=mes|{,}|mes1},
{No},{mes:=mes1;
});
},
{No},{mes:=mes
})},
{ 2},{im({Yes})
});
case (sarch2,
{ 1},{MorL:={LiB};
%lib1 @MLserch(lib,MorL);
case (lib1<>{} && lib1<>{No},
{Yes},
{case (lib<>{},
{Yes},
{lib:=@To3(lib);lib:=lib|{,}|lib1},
{No},{lib:=lib1}
);
})},
{ 2},{im({Yes})
});
case(sel==1,{Yes},{SNDMSG({erande_f.snd});d1:=@date});
case(ok,{ 0},{im({Yes})},
{ 1},{TGK:= @getline(TGK,1,n-1)|{ボード}|{/}|
d1|{/}|forum|{/}|mes|{/}|lib|{/\n}|
@getline(TGK,n+1);
im({No})},
{ 2},{TGK:= @getline(TGK,1,n-1)|{\n}|
@getline(TGK,n+1);
im({No})},
{ 3},{im({No})},
,{case(ok={ 0}&&sel={ 0},
{Yes},{im({No})}, /* 右クリックで終了 */
{No},{im({Yes})})}
);
});
};
/* CUGボードNo.の指定 */
%setCUG{[n]
var forum [8];var CUGmes [300];var pass [8];
var d1 [40];var CUGlib [300];
%TGK1 @getline(TGK,n,1);
d1:= @case(@nth(TGK1,2,{/}),{},{im({未設定})},
,{im(@nth(TGK1,2,{/}))});
forum:= @nth(TGK1,3,{/}); CUGmes:=@To3(@nth(TGK1,4,{/}));
pass:= @nth(TGK1,5,{/}); CUGlib:=@To3(@nth(TGK1,6,{/}));
moveline:=@xlinenum;
loop ({
footnote({巡回するCUGボードを設定してください});SNDMSG({nyuryo_f.snd});
%a @plane(
{cネット名「}|NET|{」を指定してください\n}|
{t ネット名 /xxxxxx\n}|
{c巡回するCUGボードを設定してください\n}|
{t CUGボード番号 /\n}|
{s /検索 \n}|
{c カンマ「,」で区切って複数指定可(「#」は省略して下さい\n}|
{t CUGボードパスワード /xxxxxxxx\n}|
{c 指定されたCUGボードのパスワードを入力して下さい\n}|
{t ファイルボード番号 /\n}|
{s 検索 / 巡回内容 \n}|
{c 指定されたCUGファイルボードの最新のデータ一覧を表示\n}|
{c カンマ「,」で区切って複数指定可\n}|
{c 巡回日 }|@d2|{\n}|
{s / 変更 \n}|
{s / 設定 / 削除 / 取消 },
NET,CUGmes,pass,CUGlib);
forum:= @head(@getline(a,1,1),{\n});CUGmes:=@head(@getline(a,2,1),{\n});
%sarch1 @head(@getline(a,3,1),{\n});pass:= @head(@getline(a,4,1),{\n});
CUGlib:=@head(@getline(a,5,1),{\n});%sarch2 @head(@getline(a,6,1),{\n});
%sel @head(@getline(a,7,1),{\n}); %ok @head(@getline(a,8,1),{\n});
case (CUGlib={ALL}||CUGlib={all}||CUGlib={,},{Yes},{CUGlib:={}});
case (sarch1,
{ 1},{MorL:={BoD};
%mes1 @MLserch(CUGmes,MorL);
case (mes1<>{} && mes1<>{No},
{Yes},
{case (CUGmes<>{} && CUGmes<>{ALL}||
CUGmes<>{} && CUGmes<>{all},
{Yes},{CUGmes:=@To3(CUGmes);
case (CUGmes={ALL}
||CUGmes={all},
{Yes},{CUGmes:=mes1},
{No},{CUGmes:=CUGmes|
{,}|mes1})
},
{No},{
case (CUGmes={ALL}||CUGmes={all},
{Yes},{CUGmes:={}},
{No},{CUGmes:=mes1})
});
})},
{ 2},{im({Yes})
});
case (sarch2,
{ 1},{MorL:={LiB};
%lib1 @MLserch(CUGlib,MorL);
case (lib1<>{} && lib1<>{No},
{Yes},
{case (CUGlib<>{},
{Yes},{
case (CUGlib={ALL}
||CUGlib={all},
{Yes},{CUGlib:=lib1},
{No},{
CUGlib:=@To3(CUGlib);
CUGlib:=CUGlib|{,}|lib1
})
},
{No},{CUGlib:=lib1}
);
})},
{ 2},{im({Yes})
});
case(sel==1,{Yes},{SNDMSG({erande_f.snd});d1:=@date});
case(ok,{ 0},{im({Yes})},
{ 1},{TGK:= @getline(TGK,1,n-1)|{CUGボード}|{/}|
d1|{/}|forum|{/}|CUGmes|{/}|pass|{/}|CUGlib|
{/\n}|@getline(TGK,n+1);
im({No})},
{ 2},{TGK:= @getline(TGK,1,n-1)|{\n}|
@getline(TGK,n+1);
im({No})},
{ 3},{im({No})},
,{case(ok={ 0}&&sel={ 0},
{Yes},{im({No})}, /* 右クリックで終了 */
{No},{im({Yes})})}
);
});
};
/* NEWS検索の指定 */
%setNEWS{[n]
var forum [8];var d1 [40];var menu[4];
%TGK1 @getline(TGK,n,1);
d1:= @case(@nth(TGK1,2,{/}),{},{im({未設定})},
,{im(@nth(TGK1,2,{/}))});
forum:= @nth(TGK1,3,{/});menu:={NEWS};
loop ({
footnote({NEWS検索実行日を指定して下さい});SNDMSG({nyuryo_f.snd});
%a @plane(
{cネット名「}|NET|{」を指定してください\n}|
{t ネット名 /xxxxxx\n}|
{c NEWS検索実行日を指定して下さい\n}|
{t 「NEWS」をインプットして下さい /xxxx\n}|
{c この指定により「FN」コマンドを発行して\n}|
{c 最近ファイルボードに登録されたデーターを表示します\n}|
{c 巡回日 }|@d2|{\n}|
{s / 変更 \n}|
{s / 設定 / 削除 / 取消 },
NET,menu);
forum:= @head(@getline(a,1,1),{\n}); menu:= @head(@getline(a,2,1),{\n});
%sel @head(@getline(a,3,1),{\n}); %ok @head(@getline(a,4,1),{\n});
case(sel==1,{Yes},{SNDMSG({erande_f.snd});d1:=@date});
case(ok,{ 1},{TGK:= @getline(TGK,1,n-1)|{NEWS検索}|{/}|
d1|{/}|forum|{/}|menu|{/\n}|
@getline(TGK,n+1);
im({No})},
{ 2},{TGK:= @getline(TGK,1,n-1)|{\n}|
@getline(TGK,n+1);
im({No})},
{ 3},{im({No})},
,{case(ok={ 0}&&sel={ 0},
{Yes},{im({No})}, /* 右クリックで終了 */
{No},{im({Yes})})}
);
});
};
/* RTBBS-NETで行う処理を設定する */
%setTG {[n]
case(@nochar(@nth(@getline(TGK,n,1),1,{/})),
0,{setTG1(n)}, /* 空文字列 */
2,{setTG1(n)}, /* 改行コードのみ */
,
{SNDMSG({erande_f.snd});footnote({処理を選択してください});
select({処理を選択してください},
Wtime4,,
{ 変 更 },{setTG1(n)},
{ 削 除 },{TGK:=@getline(TGK,1,n-1)|{\n}|
@getline(TGK,n+1)},
{ 中 止 },);
});
};
%setTG1{[n]
case(@nth(@getline(TGK,n,1),1,{/}),
{ボード},{setBOARD(n)},{CUGボード},{setCUG(n)},
{SIGボード},{setCUG(n)},{NEWS検索},{setNEWS(n)},,
{SNDMSG({erande_f.snd});
footnote(NET|{-NETで行う処理を指定して下さい});
select(NET|{-NETで行う処理を指定して下さい},
Wtime4,,
{ NEWS検索 },{setNEWS(n)},
{ ボード },{setBOARD(n)},
{ CUGボード },{setCUG(n)},
{ 終了 },);
});
};
/* NIFTYで行う処理を並べ変える */
%renTG {var num[72];var count[72];var TGK2[3074];
count:=0;num:={};TGK2:={};
%tg01 @tgk(1); %tg02 @tgk(2); %tg03 @tgk(3); %tg04 @tgk(4); %tg05 @tgk(5); %tg06 @tgk(6);
%renum {[n]
case (num,{},{num:=n},,{num:=num|{,}|n});
case(TGK2,{},{TGK2:=@getline(TGK,n,1)},
,{TGK2:=TGK2|@getline(TGK,n,1)});
count:=count+1;
};
%cancel1{case(count>0,{Yes},{count:=count-1});
case(count>0,{Yes},{TGK2:=@getline(TGK2,1,count)},
{No}, {TGK2:={}});
num:=@body(num,,{,});
};
loop ({SNDMSG({erande_f.snd});
footnote(NET|{-NETで行う順序を指定して下さい});
display ({現在 }|num|{ が指定されています\n});
select (NET|{-NETで行う順序を指定して下さい},,,
tg01,{renum(1);im({Yes})},tg02,{renum(2);im({Yes})},
tg03,{renum(3);im({Yes})},tg04,{renum(4);im({Yes})},
tg05,{renum(5);im({Yes})},tg06,{renum(6);im({Yes})},
{ 一 個 取 消 },{cancel1;im({Yes})},
{ 全 取 消 },{num:={};TGK2:={};im({Yes})},
{ 指 定 終 了 },{TGK:=TGK2;im({No})});
});
};
/* 設定情報をファイルに保存する */
%SAVE {var newfile [64];
newfile:=NET|{.TG};
case(newfile<>{},{Yes},{
%newdir @getcdir;
case(@nochar(newdir)==3,
{Yes},{newfile:=newdir|newfile},
{No},{newfile:=newdir|{\}|newfile});
delfile(newfile);
write(newfile,{TGK :=}|@xc({7b})|TGK|@xc({7d})|{;\n});
});
footnote(NET|{.TGファイルに設定を保存しました});wait(2);
setcdir(CDIR);
};
/* ファイルから設定情報を読み込む */
%LOAD {var newfile [64];SNDMSG({erande_f.snd});
footnote({設定を読み込むファイルを指定して下さい});
newfile:=@filesel({TG});
case (newfile<>{},
{Yes},
{
%newdir @getcdir;
case (@nochar(newdir)==3,
{Yes},{newfile:=newdir|newfile},
{No},{newfile:=newdir|{\}|newfile}
);
case (@filechk(newfile),{Yes},
{
%ExcPilot {#}|newfile;
ExcPilot;setcdir(CDIR);
SETFILE2:=@tail(newfile,{\});
TGK:=@LINECUT(TGK);
});
});
setcdir(CDIR);
};
/* BBS-NETで行う処理を設定する */
%setBBS{
TGK:=@LINECUT(TGK);
loop ({SNDMSG({erande_f.snd});
footnote(NET|{-NETで行う処理は曜日&日付で選択出来ますよ});
select (NET|{-NETで行う処理を指定して下さい},,,
@tgk(1),{setTG(1);im({Yes})},
@tgk(2),{setTG(2);im({Yes})},
@tgk(3),{setTG(3);im({Yes})},
@tgk(4),{setTG(4);im({Yes})},
@tgk(5),{setTG(5);im({Yes})},
@tgk(6),{setTG(6);im({Yes})},
{ 順 序 変 更 },{renTG;im({Yes})},
{ もとの設定にもどす },{CANCEL;im({Yes})},
{ 設定をファイルに保存>}|NET|{.TG},{SAVE;im({Yes})},
{ ファイルから設定を読込<*.TG},{LOAD;im({Yes})},
{ 設定を保存して終了>DORATGK.SET},{writeTG;im({No})},
{保存しない(一時的な変更)},
{SETFILE2:={一時設定};im({No})}
)})};
setBBS;